package com.kgc.dao;

import com.kgc.entity.UserInfo;
import com.kgc.entity.vo.UserInfoVo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository //把UserInfoDao 放到容器中
@Mapper //
public interface UserInfoDao {
    /**
     * 根据用户名和密码查询用户对象
     * @param map 参数列表  map的key为 userName  userPwd
     * @return 用户对象
     */
    UserInfo getUserInfoByUseNameAndUserPwd(Map<String,Object> map);

    /**
     * 根据用户名查询 数据中有多少个用户
     * @param userName 用户名
     * @return 总记录数
     */
    int countUserInfoByUserName(String userName);

    /**
     * 新增用户的方法
     * @param userInfo
     * @return 受影响行数
     */
    Integer addUserInfo(UserInfo userInfo);

    /**
     * 查询所有用户的方法
     * @return
     */
    List<UserInfoVo> getUserInfoAll(Map<String,Object> map);

    Integer countUserInfoAll(Map<String,Object> map);

    int updateUserInfo(UserInfo userInfo);

    int delUserInfoById(Integer id);

    UserInfo getUserInfoByUserNameAndUserPwdPuser(Map<String, Object> map);

    UserInfoVo getUserById(Integer id);

    void delMenuAll(Integer userId);

    void addUserMenu(Integer id, Integer userId);
}
